import axios from 'axios';

/**
 * 上传图片、视频或附件到服务器
 * @param {String} knwlgId 知识库ID，可能用于识别上传的上下文
 * @param {FormData} formData 包含文件的FormData对象
 * @param {Object} additionalData 附加数据，可能包含其他需要发送到服务器的信息
 * @returns {Promise} 包含上传结果的Promise对象
 */
export function uploadImg(knwlgId, formData, additionalData = {}) {
    return new Promise((resolve, reject) => {
        // 这里是服务器上传接口的URL，需要替换成实际的URL
        const uploadUrl = 'http://127.0.0.1:9090/file/upload';

        // 将知识库ID和其他附加数据添加到FormData中
        formData.append('knwlgId', knwlgId);
        Object.keys(additionalData).forEach(key => {
            formData.append(key, additionalData[key]);
        });

        // 使用axios发送POST请求
        axios({
            method: 'post',
            url: uploadUrl,
            data: formData,
            headers: {
                'Content-Type': 'multipart/form-data'
            }
        })
            .then(response => {
                // 假设服务器返回的数据结构是 { success: true, data: { imgId: '...' } }
                if (response.data.success) {
                    resolve(response.data.data);
                } else {
                    reject(response.data.message || '上传失败');
                }
            })
            .catch(error => {
                reject(error.message || '上传过程中发生错误');
            });
    });
}